1. Field of the Invention
The present invention relates in general to an automatic music-performing system, and more particularly to step-recording apparatus and method for the automatic music-performing system.
2. Description of the Prior Art
In the beginning of an automatic music-performing system such as keyboard instruments, there has been provided a synthesizer for synthesizing melodies such as do, re, mi, fa, . . . do, to produce a desired sound. However, nobody, except professional musicians, could use the synthesizer in that the synthesizer was difficult to use and expensive.
To meet ordinary person's expectations, there has thereafter been proposed an electronic keyboard (EKB) instrument in which are stored a predetermined number of rhythms (i.e., disco, tango and etc.) and melody chords.
The EKB instrument are typically comprised of rhythm keyboards and melody keyboards. The user selects a desired rhythm with the left hand and melody chords such as C, Am, G, . . . etc. with the right hand, in order to make a desired musical performance. However, this is difficult for the ordinary person to use, too, in that it requires a great amount of skill. Namely, the EKB instrument is difficult to play in real time.
For instance, in the case where the melody chord C is to be played, the user has to select a desired rhythm with the left hand at the same time as a root key and a chord identification (ID) key for the melody chord C with the right hand, and a desired time for generation of the melody chord C, hereinafter referred to as resolution, as well. For this reason, the EKB instrument is difficult for the ordinary person to play. Also, when a desired melody chord is hard to play such as C#, dim, Caug and etc. and a desired rhythm is fast, the EKB instrument is even more difficult to play.
For the purpose of solution of the above problems, there has recently been developed a recording apparatus for automatic music-performing system such as the keyboard instruments, which is capable of pre-recording a predetermined musical performance and thereafter playing back the recorded musical performance.
This apparatus is different in manner from the conventional recording apparatus for the automatic music-performing system which is capable of recording a predetermined musical performance, typically on magnetic tape, in that it records on a memory, musical performance information from a performer, i.e. numbers of the selected melody chords, the intensity of pushing the keyboard, the time wherein the keyboard is pushed and etc., as digital data.
There has initially been utilized a recording apparatus of the one track recording type which is capable of recording a desired rhythm and melody at the same time but there has recently been utilized a recording apparatus of multi-track recording type which is capable of recording individually the rhythm, the melody and etc. on different tracks, to follow the trend of variety of functions.
However, the recording apparatus of the one track recording type records in real time and the performer plays his or her musical performance with the rhythm having a tempo selected from the beginning to the end on the turning-on of the recording apparatus. For this reason, when the performer is out of tempo because he or she lacks rhythmical sense, does not understand fingering of the melody chord and lacks in use of the keyboard, the recording is ruined and thus the recording apparatus must do it all over again.
Therefore, recently a recording apparatus of the multi-track recording type there has broadly been utilized.
With reference to FIG. 1, there is shown a block diagram of a recording apparatus for an automatic music-performing system in accordance with the known prior art. The illustrated apparatus comprises timbre generating means 1 for generating a desired timbre of a sound being inputted in accordance with an external control signal, a function key block 2 for selecting desired rhythm and tempo and a play mode, a melody key block 3 for selecting a melody chord of a musical performance, a ROM 4 for storing a system program and a predetermined number of sound data, a RAM 5 for storing or accessing data of melodies produced by a performer in accordance with an external control signal, a microcomputer 6 for providing a plurality of control signals to the system in response to key signals from the function key block 2 and the melody key block 3, and an interface 7 for passing information, corresponding to a kind of timbre of the selected sound, to an address corresponding to the ROM location in which the corresponding timbre is stored and to a duration and pitch of the corresponding timbre, from the microcomputer 6 to the timbre generating means 1 in accordance with a given parameter protocol.
The timbre generating means 1 includes a ROM 8 for storing a plurality of timbre data from the timbre generating means 1 in a pulse code modulation (PCM) manner, a RAM 9 for dividing the information being received from the interface 7 into four parameters and outputting the four parameters, and an address generator 10 for generating an address in accordance with the first parameter from the RAM 9 and applying the address to the ROM 8. Upon being applied with the address from the address generator 10, the ROM 8 outputs a specific timbre of data.
Also, the timbre generating means includes an envelope generator 11 for generating a predetermined envelope in accordance with the second parameter from the RAM 9, an interpolator 12 for smoothing a high frequency component of the timbre data from the ROM 8 in accordance with the third parameter from the RAM 9, a digital/analog converter 13 for converting an output signal from the interpolator 12 into an analog signal, an attenuator 14 for attenuating an output signal from the digital/analog converter 13 with the lapse of time in accordance with the envelope from the envelope generator 11, and an analog switch 15 for selecting, in accordance with a software of the system program, one of the channels through which a timbre output signal from the attenuator 14 is finally outputted. The channels may be rhythm high, rhythm low, base and melody channels.
To explain the function of the envelope generator 11 in more detail, the envelope generator 11 functions to generate the envelope for determining a form into which the timbre data from the ROM 8 is varied with variation of time, in accordance with the second parameter from the RAM 9.
Also to explain the function of the interpolator 12 in more detail, the function of the interpolator 12 is to compensate for a conversion error which may be generated when the timbre digital data is converted into an analog signal.
The other will later be described in detail with reference to the operation of the apparatus.
On the other hand, the microcomputer 6 includes a port 16 connected to the interface 7, a port 17 connected to the function key block 2 and the melody key block 3, ports 18 and 19 connected to the RAM 5 for recording the musical performance and to the ROM 4 for storing the system program and sound data, a RAM 20 and a register 21 for being used when the microcomputer 6 performs an arithmetic function, a timer 22 for adjusting a tempo in accordance with an external interrupt control signal, an interrupt controller 23 for controlling a priority and a service of an interrupt signal being generated from the timer 22, an arithmetic logic unit (ALU) 24, latches 25 and 26, and an internal data bus 27.
The operation of the conventional recording apparatus with the above-mentioned construction will now be described with reference to FIG. 2.
With reference to FIG. 2, there is shown a flow chart illustrating the operation of the apparatus shown in FIG. 1.
First, once the user operates the function key block 2, the selected rhythm and metronome numbers, or tempo number are placed o the internal data bus 27 in the microcomputer 6 through the port 17. At this time, the microcomputer 6 calculates a parameter to drive the timer 22 in accordance with the system program stored in the ROM 4, using the RAM 20, the register 21 and the arithmetic logic unit 24. The timer 22 in the microcomputer 6 counts a system clock signal being generated as shown in FIG. 3a by a predetermined number of times in accordance with the parameter and generates the interrupt signal as shown in FIG. 3b, one time.
Then, in accordance with the system program in the ROM 4, the interrupt signal being generated from the timer 22 is counted by a predetermined number of times, resulting in the generation of a tempo period required by the user, as shown in FIG. 3c.
At the same time, the user operates the melody key block 3 to apply melody key signals and their resolution values corresponding to intervals of the tempo to the microcomputer 6. As a result, the microcomputer 6 inputs a key signal being generated in the course o its scanning of the melody key block 3 and then performs a mode for detecting a melody chord corresponding to the inputted key signal.
Upon the detection of the melody chord corresponding to the melody key, the detected melody chord, together with the resolution value (beat value or time base value) wherein the melody chord is maintained, is stored in the RAM 5 for recording the musical performance. Also, the microcomputer 6 transfers one of the plurality of sound data stored in the ROM 4, the detected melody chord, its resolution value and pitch value and function data to the timbre generating means 1, in accordance with the key signals being applied by the user operating the function block 2 and the melody key block 3. Then, the RAM 9 in the timbre generating means 1 divides the signal being received from the interface 7 into four parameters, the first, address parameter, the second, envelope parameter, the third, interpolating parameter and the fourth, switching parameter and outputs the four parameters. The address generator 10 generates an address in accordance with the first parameter from the RAM 9 and applies the address to the ROM 8. Upon being applied with the address from the address generator 10, the ROM 8 outputs a specific timbre of digital data in the location corresponding to the applied address.
The envelope generator 11 generates an envelope for determining an attenuation degree of the timbre data from the ROM 8 being varied with variation of time, in accordance with the second parameter from the RAM 9. Also, the interpolator 12 smooth a high frequency component of the timbre data from the ROM 8 in accordance with the third parameter from the RAM 9. Then, the attenuator 14 inputs the envelope from the envelope generator 11 simultaneously with the timbre data through the interpolator 12 and the analog/digital converter 13 and attenuates the inputted timbre data in accordance with the envelope from the envelope generator 11.
FIG. 4(a)-4(c) comprise waveforms of signals from respective components in the timbre generating means 1, wherein FIG. 4a is a waveform diagram of the timbre digital data stored in the ROM 8, FIG. 4b is a waveform diagram of an output signal from the envelope generator 11 and FIG. 4c is a waveform diagram of an output signal from the attenuator 14. On the other hand, the output signal from the attenuator 14 is outputted through one of the rhythm high, rhythm low, melody and base channels by the analog switch 15 in accordance with the sort of the timbre.
With the reference to FIG. 5, there is shown the data format of a melody key chord being stored in the recording RAM 5, its play mode and resolution value, this data format having been proposed by the present inventor. As shown in this drawing, two bytes of data are stored in the RAM 5 for recording the musical performance, the first byte data being data corresponding to the root and identification (ID) of the melody chord and the second byte data being data corresponding to the resolution and play mode of the melody chord. The play mode may include "intro" for use in an introduction portion of the musical performance, "ending" for use in an end portion of the musical performance, "fill-in" for use in change of measures of the musical performance, and "main" for use in a monotonic portion of the musical performance.
An example of identification (ID) data, root data and play mode data, being preset for recording the melody chord is as follows:
TABLE 1 ______________________________________ Chord ID Minor Major Minor Dom7 Minor7 Major7 Major augment ______________________________________ 0000 0001 0010 0011 0100 0101 0110 ______________________________________
TABLE 2 __________________________________________________________________________ Root C D.music-flat. D E.music-flat. E F F.music-sharp. G A.music-flat. A B.music-flat. B __________________________________________________________________________ 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 __________________________________________________________________________
TABLE 3 ______________________________________ Play Mode Main intro Fill-in1 Fill-in2 Fill-in3 Fill-in4 ______________________________________ 000 001 010 011 100 101 ______________________________________
For example, a data format for recording a piece of music as shown in FIG. 6 can be expressed by the following Table 4, utilizing the above Tables 1 through 3.
TABLE 4 ______________________________________ .0. .0. 0 0 0 0 0 0 0 0 4 .0. 0 0 1 0 0 0 0 0 9 1 1 0 0 1 0 0 0 1 4 .0. 0 0 1 0 0 0 0 0 2 1 0 0 1 0 0 0 0 1 1 .0. 0 0 0 1 0 0 0 0 7 2 0 1 1 1 0 0 1 0 1 .0. 0 0 0 1 0 0 0 0 .0. .0. 0 0 0 0 0 0 0 0 2 2 0 0 1 0 0 0 1 0 ______________________________________
However, the conventional recording apparatus for the automatic music-performing system has a disadvantage, in that it utilizes a real time recording procedure wherein the melodies constituting the musical performance are recorded simultaneously with the rhythm having a constant tempo, thereby causing the unskilled performer to be frequently out the tempo. For this reason, it is impossible to insert the corresponding melody chords into respective intervals of the tempo. Hence, the recording is ruined and thus the recording apparatus must do it all over again. For instance, in a case where two or more hard melody chords are contained in a bar as shown in FIG. 7, it is particularly difficult for the user to insert the corresponding melody chords into respective intervals of the tempo of the selected rhythm in accordance with the tempo of the selected rhythm.